home *** CD-ROM | disk | FTP | other *** search
- #include <gsl/gsl_test.h>
- #include <gsl/gsl_ieee_utils.h>
- #include <gsl/gsl_math.h>
- #include <gsl/gsl_cblas.h>
-
- #include "tests.h"
-
- void
- test_gemv (void) {
- const double flteps = 1e-4, dbleps = 1e-6;
- {
- int order = 101;
- int trans = 111;
- int M = 1;
- int N = 1;
- int lda = 1;
- float alpha = 1.0f;
- float beta = -0.3f;
- float A[] = { -0.805f };
- float X[] = { -0.965f };
- int incX = -1;
- float Y[] = { 0.537f };
- int incY = -1;
- float y_expected[] = { 0.615725f };
- cblas_sgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[i], y_expected[i], flteps, "sgemv(case 774)");
- }
- };
- };
-
-
- {
- int order = 102;
- int trans = 111;
- int M = 1;
- int N = 1;
- int lda = 1;
- float alpha = 1.0f;
- float beta = -0.3f;
- float A[] = { -0.805f };
- float X[] = { -0.965f };
- int incX = -1;
- float Y[] = { 0.537f };
- int incY = -1;
- float y_expected[] = { 0.615725f };
- cblas_sgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[i], y_expected[i], flteps, "sgemv(case 775)");
- }
- };
- };
-
-
- {
- int order = 101;
- int trans = 112;
- int M = 1;
- int N = 1;
- int lda = 1;
- float alpha = 1.0f;
- float beta = 0.0f;
- float A[] = { -0.805f };
- float X[] = { -0.965f };
- int incX = -1;
- float Y[] = { 0.537f };
- int incY = -1;
- float y_expected[] = { 0.776825f };
- cblas_sgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[i], y_expected[i], flteps, "sgemv(case 776)");
- }
- };
- };
-
-
- {
- int order = 102;
- int trans = 112;
- int M = 1;
- int N = 1;
- int lda = 1;
- float alpha = 1.0f;
- float beta = 0.0f;
- float A[] = { -0.805f };
- float X[] = { -0.965f };
- int incX = -1;
- float Y[] = { 0.537f };
- int incY = -1;
- float y_expected[] = { 0.776825f };
- cblas_sgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[i], y_expected[i], flteps, "sgemv(case 777)");
- }
- };
- };
-
-
- {
- int order = 101;
- int trans = 111;
- int M = 1;
- int N = 1;
- int lda = 1;
- double alpha = -0.3;
- double beta = -1;
- double A[] = { -0.047 };
- double X[] = { 0.672 };
- int incX = -1;
- double Y[] = { 0.554 };
- int incY = -1;
- double y_expected[] = { -0.5445248 };
- cblas_dgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[i], y_expected[i], dbleps, "dgemv(case 778)");
- }
- };
- };
-
-
- {
- int order = 102;
- int trans = 111;
- int M = 1;
- int N = 1;
- int lda = 1;
- double alpha = -0.3;
- double beta = -1;
- double A[] = { -0.047 };
- double X[] = { 0.672 };
- int incX = -1;
- double Y[] = { 0.554 };
- int incY = -1;
- double y_expected[] = { -0.5445248 };
- cblas_dgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[i], y_expected[i], dbleps, "dgemv(case 779)");
- }
- };
- };
-
-
- {
- int order = 101;
- int trans = 112;
- int M = 1;
- int N = 1;
- int lda = 1;
- double alpha = -1;
- double beta = 1;
- double A[] = { -0.047 };
- double X[] = { 0.672 };
- int incX = -1;
- double Y[] = { 0.554 };
- int incY = -1;
- double y_expected[] = { 0.585584 };
- cblas_dgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[i], y_expected[i], dbleps, "dgemv(case 780)");
- }
- };
- };
-
-
- {
- int order = 102;
- int trans = 112;
- int M = 1;
- int N = 1;
- int lda = 1;
- double alpha = -1;
- double beta = 1;
- double A[] = { -0.047 };
- double X[] = { 0.672 };
- int incX = -1;
- double Y[] = { 0.554 };
- int incY = -1;
- double y_expected[] = { 0.585584 };
- cblas_dgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[i], y_expected[i], dbleps, "dgemv(case 781)");
- }
- };
- };
-
-
- {
- int order = 101;
- int trans = 111;
- int M = 1;
- int N = 1;
- int lda = 1;
- float alpha[2] = {0.0f, 0.1f};
- float beta[2] = {0.0f, 1.0f};
- float A[] = { 0.629f, 0.801f };
- float X[] = { 0.778f, -0.073f };
- int incX = -1;
- float Y[] = { -0.976f, -0.682f };
- int incY = -1;
- float y_expected[] = { 0.624274f, -0.921216f };
- cblas_cgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "cgemv(case 782) real");
- gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "cgemv(case 782) imag");
- };
- };
- };
-
-
- {
- int order = 102;
- int trans = 111;
- int M = 1;
- int N = 1;
- int lda = 1;
- float alpha[2] = {0.0f, 0.1f};
- float beta[2] = {0.0f, 1.0f};
- float A[] = { 0.629f, 0.801f };
- float X[] = { 0.778f, -0.073f };
- int incX = -1;
- float Y[] = { -0.976f, -0.682f };
- int incY = -1;
- float y_expected[] = { 0.624274f, -0.921216f };
- cblas_cgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "cgemv(case 783) real");
- gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "cgemv(case 783) imag");
- };
- };
- };
-
-
- {
- int order = 101;
- int trans = 112;
- int M = 1;
- int N = 1;
- int lda = 1;
- float alpha[2] = {0.0f, 1.0f};
- float beta[2] = {-0.3f, 0.1f};
- float A[] = { 0.629f, 0.801f };
- float X[] = { 0.778f, -0.073f };
- int incX = -1;
- float Y[] = { -0.976f, -0.682f };
- int incY = -1;
- float y_expected[] = { -0.216261f, 0.654835f };
- cblas_cgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "cgemv(case 784) real");
- gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "cgemv(case 784) imag");
- };
- };
- };
-
-
- {
- int order = 102;
- int trans = 112;
- int M = 1;
- int N = 1;
- int lda = 1;
- float alpha[2] = {0.0f, 1.0f};
- float beta[2] = {-0.3f, 0.1f};
- float A[] = { 0.629f, 0.801f };
- float X[] = { 0.778f, -0.073f };
- int incX = -1;
- float Y[] = { -0.976f, -0.682f };
- int incY = -1;
- float y_expected[] = { -0.216261f, 0.654835f };
- cblas_cgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "cgemv(case 785) real");
- gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "cgemv(case 785) imag");
- };
- };
- };
-
-
- {
- int order = 101;
- int trans = 113;
- int M = 1;
- int N = 1;
- int lda = 1;
- float alpha[2] = {0.0f, 0.1f};
- float beta[2] = {-0.3f, 0.1f};
- float A[] = { 0.629f, 0.801f };
- float X[] = { 0.778f, -0.073f };
- int incX = -1;
- float Y[] = { -0.976f, -0.682f };
- int incY = -1;
- float y_expected[] = { 0.427909f, 0.150089f };
- cblas_cgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "cgemv(case 786) real");
- gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "cgemv(case 786) imag");
- };
- };
- };
-
-
- {
- int order = 102;
- int trans = 113;
- int M = 1;
- int N = 1;
- int lda = 1;
- float alpha[2] = {0.0f, 0.1f};
- float beta[2] = {-0.3f, 0.1f};
- float A[] = { 0.629f, 0.801f };
- float X[] = { 0.778f, -0.073f };
- int incX = -1;
- float Y[] = { -0.976f, -0.682f };
- int incY = -1;
- float y_expected[] = { 0.427909f, 0.150089f };
- cblas_cgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "cgemv(case 787) real");
- gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "cgemv(case 787) imag");
- };
- };
- };
-
-
- {
- int order = 101;
- int trans = 111;
- int M = 1;
- int N = 1;
- int lda = 1;
- double alpha[2] = {0, 0.1};
- double beta[2] = {1, 0};
- double A[] = { 0.932, -0.724 };
- double X[] = { 0.334, -0.317 };
- int incX = -1;
- double Y[] = { 0.348, 0.07 };
- int incY = -1;
- double y_expected[] = { 0.401726, 0.078178 };
- cblas_zgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zgemv(case 788) real");
- gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zgemv(case 788) imag");
- };
- };
- };
-
-
- {
- int order = 102;
- int trans = 111;
- int M = 1;
- int N = 1;
- int lda = 1;
- double alpha[2] = {0, 0.1};
- double beta[2] = {1, 0};
- double A[] = { 0.932, -0.724 };
- double X[] = { 0.334, -0.317 };
- int incX = -1;
- double Y[] = { 0.348, 0.07 };
- int incY = -1;
- double y_expected[] = { 0.401726, 0.078178 };
- cblas_zgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zgemv(case 789) real");
- gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zgemv(case 789) imag");
- };
- };
- };
-
-
- {
- int order = 101;
- int trans = 112;
- int M = 1;
- int N = 1;
- int lda = 1;
- double alpha[2] = {-0.3, 0.1};
- double beta[2] = {0, 1};
- double A[] = { 0.932, -0.724 };
- double X[] = { 0.334, -0.317 };
- int incX = -1;
- double Y[] = { 0.348, 0.07 };
- int incY = -1;
- double y_expected[] = { -0.040808, 0.517356 };
- cblas_zgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zgemv(case 790) real");
- gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zgemv(case 790) imag");
- };
- };
- };
-
-
- {
- int order = 102;
- int trans = 112;
- int M = 1;
- int N = 1;
- int lda = 1;
- double alpha[2] = {-0.3, 0.1};
- double beta[2] = {0, 1};
- double A[] = { 0.932, -0.724 };
- double X[] = { 0.334, -0.317 };
- int incX = -1;
- double Y[] = { 0.348, 0.07 };
- int incY = -1;
- double y_expected[] = { -0.040808, 0.517356 };
- cblas_zgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zgemv(case 791) real");
- gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zgemv(case 791) imag");
- };
- };
- };
-
-
- {
- int order = 101;
- int trans = 113;
- int M = 1;
- int N = 1;
- int lda = 1;
- double alpha[2] = {1, 0};
- double beta[2] = {0, 0};
- double A[] = { 0.932, -0.724 };
- double X[] = { 0.334, -0.317 };
- int incX = -1;
- double Y[] = { 0.348, 0.07 };
- int incY = -1;
- double y_expected[] = { 0.540796, -0.053628 };
- cblas_zgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zgemv(case 792) real");
- gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zgemv(case 792) imag");
- };
- };
- };
-
-
- {
- int order = 102;
- int trans = 113;
- int M = 1;
- int N = 1;
- int lda = 1;
- double alpha[2] = {1, 0};
- double beta[2] = {0, 0};
- double A[] = { 0.932, -0.724 };
- double X[] = { 0.334, -0.317 };
- int incX = -1;
- double Y[] = { 0.348, 0.07 };
- int incY = -1;
- double y_expected[] = { 0.540796, -0.053628 };
- cblas_zgemv(order, trans, M, N, alpha, A, lda, X, incX, beta, Y, incY);
- {
- int i;
- for (i = 0; i < 1; i++) {
- gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zgemv(case 793) real");
- gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zgemv(case 793) imag");
- };
- };
- };
-
-
- }
-